package com.authine.cloudpivot.ext.dto.transfer;

import com.authine.mvp.app.launcher.domain.SelectorFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName ResaleInvoiceDto
 * @Description: 转售发票申请单
 **/
@Data
@Schema(description = "ResaleInvoiceDto")
@ApiModel("转售发票申请单")
public class ResaleInvoiceDto {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "ID集合")
    private List<String> ids;
    @Schema(description = "金税id")
    private String golden_tax_id;
    @Schema(description = "发票类型：普票 , 专票")
    private String type;
    @Schema(description = "状态")
    private String resale_invoice_status;
    @Schema(description = "票面发票代码")
    private String code;
    @Schema(description = "票面发票号码")
    private String number;
    @Schema(description = "票面开票日期")
    private String date;
    @Schema(description = "票面购买方名称 *如果是固买则是向供应商采购")
    private String purchase_name;
    @Schema(description = "票面购买方纳税人识别号")
    private String purchase_number;
    @Schema(description = "票面购买方地址")
    private String purchase_address;
    @Schema(description = "票面购买方电话")
    private String purchase_phone;
    @Schema(description = "票面购买方开户行")
    private String purchase_bank;
    @Schema(description = "票面购买方账号")
    private String purchase_account;
    @Schema(description = "票面价格小计")
    private BigDecimal price_amount;
    @Schema(description = "票面税额小计")
    private BigDecimal tax_amount;
    @Schema(description = "票面价税合计")
    private BigDecimal total;
    @Schema(description = "票面备注")
    private String memo;
    @Schema(description = "票面开票人")
    private String drawer;
    @Schema(description = "申请人的ID")
    private SelectorFormat apply_member_id;
    @Schema(description = "申请人全名")
    private String apply_member_name;
    @Schema(description = "购买方组织ID")
    private String purchase_organization_id;
    @Schema(description = "购买方组织全名")
    private String purchase_organization_name;
    @Schema(description = "确认开票组织的Id")
    private String confirm_organization_id;
    @Schema(description = "确认开票组织的名称")
    private String confirm_organization_name;
    @Schema(description = "发票申请单确认开票的人ID")
    private SelectorFormat drawer_member_id;
    @Schema(description = "发票申请单确认开票的人全名")
    private String drawer_member_name;
    @Schema(description = "物流收件人")
    private String receiver;
    @Schema(description = "物流收件地址")
    private String address;
    @Schema(description = "物流收件电话")
    private String phone;
    @Schema(description = "物流信息[快递名，快递号]")
    private String logistic_info;
    @Schema(description = "转售发票申请明细集合")
    private List<ResaleInvoiceDetailDto> resaleInvoiceDetails;
}
